#ifndef CAPPUCCINO
#define CAPPUCCINO

#include "espresso_based.h"
#include <iostream>
class Cappuccino : public EspressoBased
{
public:
    Cappuccino();
    Cappuccino(const Cappuccino& cap);
	
    ~Cappuccino() {
        std::cout << "Cappuccino destructor called" << std::endl;
        for(const auto& i : side_items)
            delete i;
        side_items.clear();
    };
    void operator=(const Cappuccino& cap);

    virtual std::string get_name();
    virtual double price();

    void add_side_item(Ingredient* side);
    std::vector<Ingredient*>& get_side_items();
private:
    std::vector<Ingredient*> side_items;
};

#endif // CAPPUCCINO